package com.webmining.sherlock.util.search;

public class Constants {
	
	private Constants() {
		// can't be instantiated
	}
	
	/**
	 * The sherlock release version
	 */
	public static final String SHERLOCK_RELEASE = "1.0.0";
	
    /**
     * The java version sherlock is running on
     **/
	public static final String JAVA_VERSION =
			System.getProperty("java.version");
	
	/**
	 * The operating system sherlock is running on
	 */
	public static final String OS_NAME = System.getProperty("os.name");
	
	/**
	 * System property name to locate the Sherlock Home Directory
	 */
	public static final String SHERLOCK_HOME = "sherlock.home";
	
	/**
	 * Directory name under sherlock.home where the Sherlock configuration files
	 * are stored
	 */
	public static final String CONFIG_DIRECTORY = "conf";
	
	/**
	 * Directory name under sherlock.home where the Sherlock database
	 * scripting support files are stored
	 */
	public static final String SUPPORT_DIRECTORY = "support";

	/**
	 * Filename of the Logger properties stored in CONFIG_DIRECTORY
	 */
	public static final String LOGGER_CONFIGURATION = "log4j.properties";
	
	/**
	 * Filename of the scheduler properties stored in CONFIG_DIRECTORY
	 */
	public static final String SCHEDULER_CONFIGURATION = "scheduler.properties";
	
	/**
	 * Filename of the initial pages addresses for Sherlock Crawler stored in
	 * the CONFIG_DIRECTORY
	 */
	public static final String CONFIGURATION_INITIAL_PAGES = "initial_pages.conf";
	
	/**
	 * Filename of the sherlock properties stored in the CONFIG_DIRECTORY
	 */
	public static final String CONFIGURATION_SHERLOCK = "sherlock.properties";
	
	/**
	 * Filename of the sherlock properties stored in the CONFIG_DIRECTORY
	 */
	public static final String CONFIGURATION_TEST = "test.properties";

	/**
	 * Filename of the crawling scope rules stored in the CONFIG_DIRECTORY
	 */
	public static final String CONFIGURATION_SCOPE = "scope.conf";
	
	/**
	 * The name of the index directory property inside CONFIGURATION_SHERLOCK file
	 */
	public static final String PROPERTY_INDEX_DIRECTORY =
			"sherlock.index.directory";
	
	/**
	 * The name of the database type property inside
	 * CONFIGURATION_SHERLOCK file
	 */
	public static final String PROPERTY_STORE_TYPE =
			"sherlock.store.type";
	
	/**
	 * The name of the database class driver property inside
	 * CONFIGURATION_SHERLOCK file
	 */
	public static final String PROPERTY_STORE_CLASSDRIVER =
			"sherlock.store.classdriver";
	
	/**
	 * The name of the database url property inside CONFIGURATION_SHERLOCK file
	 */
	public static final String PROPERTY_STORE_URL = "sherlock.store.url";
	
	/**
	 * The name of the database user property inside CONFIGURATION_SHERLOCK file
	 */
	public static final String PROPERTY_STORE_USER =
			"sherlock.store.user";
	
	/**
	 * The name of the database password property inside CONFIGURATION_SHERLOCK
	 * file
	 */
	public static final String PROPERTY_STORE_PASSWORD =
			"sherlock.store.password";
	
	/**
	 * The name of the database catalog property inside CONFIGURATION_SHERLOCK
	 * file
	 */
	public static final String PROPERTY_STORE_CATALOG =
			"sherlock.store.catalog";
	
	/**
	 * The name of the database sequence query property inside
	 * CONFIGURATION_SHERLOCK file
	 */
	public static final String PROPERTY_STORE_SEQUENCE_QUERY =
			"sherlock.store.sequencequery";
	
	/**
	 * The name of the crawler collectors property inside CONFIGURATION_SHERLOCK
	 * file
	 */
	public static final String PROPERTY_CRAWLER_COLLECTORS =
			"sherlock.crawler.collectors";
	
	/**
	 * The name of the maximum content size to be collected property inside
	 * CONFIGURATION_SHERLOCK file
	 */
	public static final String PROPERTY_CRAWLER_MAX_CONTENT_SIZE =
			"sherlock.crawler.maxcontentsize";
	
}
